Various websites allow for comments on articles, photos, videos or other content, or provide forums for discussion.
In most cases, a root message provides the starting point for threaded discussions or communications. Any number of users may then be involved in creating reply messages, which are attached to the root message or other reply messages beneath the root message in parent-child relationships. The attachment reply messages create a logical hierarchical discussion tree structure beneath the root message. Because the content of each reply message is typically crafted in response to its parent message, it is useful for the user of such discussions to be able to discern the structure of the logical discussion tree. Many forms of threaded discussion exist. For example, the root message might be a photograph within an online gallery, or an article posted to a blog, and the replies might be considered as threaded comments. Another commonly encountered usage is within Internet user forums, where the root message and reply messages are considered similarly, but where the root message broadly defines the primary topic that the threaded discussion should pursue. Threaded discussions may also occur on internal company networks within local or wide area networks.
Early threaded discussion was used in dial-up bulletin boards and Usenet networks. These were gradually supplanted by the Web-based Internet user forums. The early bulletin board and Usenet networks were typically used by technically capable individuals, and were often associated with communities of computer scientists and academic organizations. Threaded discussions became more mainstream with the advent of the Web-based user forum.
The migration of threaded discussion to the Web presented two challenges. The first was the determination of the best user interface methodology allowing effective browsing and manipulation of hierarchical discussion trees within a two-dimensional graphical Web page. The second challenge was to make usage and participation in hierarchical discussion threads more user friendly than before, because the relative technical skills of users were diminishing as Internet usage became more widespread and mainstream within society.
FIG. 1 illustrates one prior art way to display a threaded discussion 10. Visual indentation of messages was used to communicate parent-child relationships. Each reply message 12, 14, 16, 18 or 20 is displayed indented in proportion to the number of parent posts existing above it in the discussion tree hierarchy, with the messages 12 and 20 displayed with a single level of indentation to indicate that they are in reply to (or children of) the root message. The reply 14 is displayed beneath reply message 12 to with an additional level of indentation to indicate that it has been made in reply to message 12. The reply messages 16 and 18 are displayed beneath message 14 with an additional level of indentation to indicate that they have been made in reply to message 14, with their relative ordering indicating that reply message 16 was posted before reply message 18. Generally the reply messages in the discussion tree that are children of a message are listed in the chronological order they were created directly beneath the message at an additional level of indentation, with the children of the children treated in the same manner, recursively. Message 20 is a reply to the root message and even if it were created before message 14, 16 or 18, it would still be displayed in the same position within the list after message 18, since the child messages of 12 must be displayed before it at a higher level of indentation.
Several problems exist with this methodology. One problem is that as a discussion tree gets deeper, the indentation of messages increases. This presents a problem because computer screens have a fixed width, which therefore forces users to scroll horizontally to reach messages that reside deep in a discussion thread. Another problem is that while this methodology graphically reveals the hierarchical structure of discussion thread trees, it does not allow for the creation of a sorted listing of the messages, for example in simple chronological order, because it would then no longer be possible to use indentation to correctly indicate parent-child relationships.
FIGS. 2A-2B illustrate a prior art way to display a threaded discussion 30, which uses the same example messages as in FIG. 1. Because of the aforementioned and other problems with the indentation approach illustrated in connection with FIG. 1, some user forums adopted an approach where messages 32, 34, 36, 38 and 40 are listed in order of creation, even though message 36 is in reply to parent message 32, and messages 38 and 40 are in reply to parent message 36, while messages 32 and 34 are in reply to the root message. In order to reveal the parent-child relationships existing between the messages to the viewer of the discussion thread, the bounding boxes used to display messages 36, 38 and 40, in addition to message content 42, 44, and 46, also contain another “quotation box” 48, 50 and 52 that contains at least some of the content of the parent message that the reply message is directly replying to. These quotation boxes are recursive in nature, so each quoted reply box 50 and 52, may in turn contain another quotation box 54 and 56, ad infinitum. In this example, messages 32 and 34 do not contain quotation boxes containing content excerpted from the root message, although this is a possible methodology, as is the deliberate exclusion of quoted content by the users adding reply messages.
The approach shown in FIGS. 2A-2B removes the need to indent messages to reveal the structure of the discussion thread. Furthermore, a listing of messages may be created in a particular order. However, other issues remain with this approach. Firstly, content becomes heavily duplicated throughout the page inside the quotation boxes, which can cause problems with certain systems like, for example, Web search engines. Secondly, the display of boxes within boxes can present as busy and confusing to the human eye. Additionally, structured or multi-media content cannot easily be represented inside the quotation boxes, and the space available for content inside the quotation box shrinks as the discussion thread deepens.
Attempts have been made to enable users to better interact with hierarchical discussion threads by offering alternative browsing modes. Continuing with the example messages used in FIG. 1 and FIGS. 2A-2B, FIG. 3 illustrates a browsing mode that combines a tree navigation control 72 that presents the structure of the hierarchical discussion thread, using snippets, 74, 76, 78, 80 and 82 of the content from messages 84, 86, 88, 90 and 92 as the titles of corresponding nodes in a graphical representation of the logical discussion thread structure, with the listing of the messages 84, 86, 88, 90 and 92, which are made, for example, in chronological order. The tree control thus displays a miniaturized tree representing the structure of the discussion thread that is arranged in a similar manner to message items arranged using the aforementioned indentation approach. When a node 94, 96, 98, 100 or 102 in this tree is clicked, the scrolling of the Web page typically jumps to bring the corresponding selected message 84, 86, 88, 90 or 92 into view so the selected message can be read.
While the tree navigator control approach shown in FIG. 3 allows for effective browsing of hierarchical discussion trees, there is the potential for horizontal scrolling issues within the tree control as the discussion thread deepens. Further, it fails to provide a positive experience for the majority of users for a variety of reasons, including the resultant jumps in the scrolling of the web page during usage. In practice, while some more technically proficient users may switch to the tree control mode when they specifically want to browse the hierarchical discussion structure, the majority of users avoid using this mode of operation entirely, and choose another mode of operation, which is typically the default, where messages are simply listed in chronological order in the manner of FIGS. 2A-2B without the inclusion of quotation boxes.
A problem then emerges, because users of the threading system often become unaware that a discussion thread hierarchy is being preserved at all. While each reply message may contain its own reply action button 104, 106, 108, 110, or 112, such users may click any reply button feeling they are simply replying to the general topic being discussed in the thread (as defined, for example, by the root post), or alternatively not replying specifically to the reply message they are actually meaning to reply to. The result is that the structure of the discussion thread hierarchy can become corrupted, in large part being meaningless, impacting those users trying to gain understanding of the discussion through the tree control.
The problems with the prior art approaches to hierarchical discussion threading have resulted in some people arguing for the abandonment of threading in online discussion altogether. The argument goes that since there is no effective manner for displaying threaded discussion, individual discussions should instead be presented as simple chronologically ordered lists of messages, where reply messages are crafted only in response to the root message rather than some preceding reply. It is also argued that if somebody wishes to diverge sufficiently from the general discussion topic, as defined by the root message, then they should actually create a new root message in order to begin a new separate threaded discussion.